package com.chendx.store.api.behavior;

import com.chendx.model.behivor.dto.UserBehaviorDto;
import com.chendx.model.behivor.pojo.UserFocus;
import com.chendx.model.common.dtos.PageRequestDto;
import com.chendx.model.common.dtos.ResponseResult;

import java.util.List;

/**
 * Created by chendx on 2022/4/20.
 */
public interface UserBehaviorControllerApi {

    /**
     * 关注
     * @param dto
     * @param type 0 关注 1 取消关注
     * @return
     */
    public ResponseResult focus(UserBehaviorDto dto);

    /**
     * 是否关注
     * @param skuId
     * @return
     */
    public ResponseResult isFocus(String skuId);


    /**
     * 收藏
     * @param dto
     * @return
     */
    public ResponseResult collect(UserBehaviorDto dto);
    /**
     * 是否收藏
     * @param spuId
     * @return
     */
    public ResponseResult isCollect(String spuId);

    /**
     * 关注数量
     * @return
     */
    public ResponseResult focusCount();

    /**
     * 收藏数量
     * @return
     */
    public ResponseResult collectCount();

    /**
     * 关注某个商品的所有用户
     * @return
     */
    public List<UserFocus> focusUser(String id);

    /**
     * 获取用户收藏列表
     * @return
     */
    public ResponseResult loadCollection();

    /**
     * 获取用户关注列表
     * @return
     */
    public ResponseResult loadFocus(PageRequestDto dto);
}
